feat: add native Grok Build ACP runtime - #4319
Open
radu2lupu wants to merge 8 commits into
Open
Conversation
radu2lupu
marked this pull request as ready for review
August 2, 2026 16:49
Signed-off-by: radu2lupu <radu2lupu@gmail.com>
Signed-off-by: radu2lupu <radu2lupu@gmail.com>
Signed-off-by: radu2lupu <radu2lupu@gmail.com>
Admit human replies in active threads without a fresh @mention under subscribe=mentions, with exclusive-other and agent-loop guards. Persist active roots across harness restarts and rehydrate from relay history. Desktop Agents setting injects BUZZ_ACP_THREAD_PARTICIPATION at spawn. Also inject Fieldcraft env from ~/.fieldcraft/env into managed agents so remote-memory CLI calls work outside interactive shells. Signed-off-by: radu2lupu <radu2lupu@gmail.com>
Document remotes/branches and add scripts to rebase our Grok + thread participation stack onto block/buzz main, then install the harness outside the notarized app so updates never drop custom agent behavior. Signed-off-by: radu2lupu <radu2lupu@gmail.com>
radu2lupu
force-pushed
the
agent/native-grok-acp
branch
from
August 7, 2026 17:07
716ee71 to
05f1af3
Compare
Thread participation alone missed the common case where the human posts in the channel timeline without reply-thread e-tags. After a channel is marked active (mention or prior continuation), bare human top-level messages in that channel wake the agent. Exclusive @handoff and agent authors still drop. Active channels persist with roots. Signed-off-by: radu2lupu <radu2lupu@gmail.com>
Codex-ACP defaults to mode=agent (workspace-write, networkAccess=false). Buzz was only applying ACP permission_mode strings like dontAsk, which are not valid Codex mode ids and were skipped. Shell tools then failed MagicDNS lookups and buzz messages send never published. Prefer agent-full-access when session/new advertises it. Signed-off-by: radu2lupu <radu2lupu@gmail.com>
Show real ACP progress on the thread being worked, not only the channel bar. Adds working-anchor resolution, ThreadAgentWorkingIndicator, and related desktop/mobile typing participation plumbing for native Grok ACP. Signed-off-by: radu2lupu <radu2lupu@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
grok agent --always-approve stdio.grokfrom custom harness shadowing and remove the duplicate tier-2 preset.Related issue
None found. The closest existing work was the native ACP runtime work already present in this fork. This PR promotes Grok from the existing tier-2 preset into the native runtime catalog.
Implementation
Grok speaks ACP natively, so this change does not add an adapter. Runtime metadata owns the command, arguments, installation guidance, and authentication guidance. Buzz discovers Grok models through
buzz-acp models --json, so no static provider/model map was added. Onboarding uses the runtime catalog and includes Grok in its visible order and readiness checks.Testing
cargo test --manifest-path desktop/src-tauri/Cargo.toml managed_agents::discovery::runtime_metadata(1 passed)cargo fmt --manifest-path desktop/src-tauri/Cargo.toml -- --checkpnpm typecheckDefault model (grok-4.5)grok agent --always-approve stdio:modelId=grok-4.5,stopReason=end_turnjust ciran through Rust, desktop, and web checks. The local mobile phase requires Dart, which is not installed.UI evidence
The packaged macOS smoke test reached the Grok onboarding and model-selection states described above.
Deferred follow-up
Smart auto-response and thread participation are separate follow-up work: continue active threads, ignore membership or add-person events, and suppress messages clearly addressed to someone else. That needs persisted subscription policy and ACP event-routing changes.
Status
Draft. The GitHub CI, Docker image, and Desktop Release Candidate workflows are awaiting maintainer approval for this fork PR.